package vip.xiaonuo.util;

import vip.xiaonuo.modular.manage.biindextype.entity.BiIndexType;
import java.util.List;

/**
 * @Description 抽象指标分类辅助类
 * @Author cy
 * @Date 2022/8/3 11:08
 * @Version 1.0
 */
public abstract class BIndexTypeHandler<T> {

    /**
     * 构造指标树，返回除根节点外所有节点
     * @author: cy
     * @Date: 2022/8/3 11:43
     **/
    public abstract List<T> allTree(List<BiIndexType> indexTypes);

    /**
     * 构造指标树，返回包括根节点的所有节点
     * @author: cy
     * @Date: 2022/8/3 11:52
     **/
    public abstract T rootTree(List<BiIndexType> indexTypes);

    public abstract T getRootNode();

    public abstract  List<T> getChildren(T tree,List<BiIndexType> indexTypes);

    public abstract boolean isChild(T tree, BiIndexType indexType);
}
